import request from '@/utils/request';
import type { BaseBeanModel, ResponsePageData, ResponseBaseData, QueryParamModel } from '@/api/model/baseModel';
const basePath = '/appsys/canledarzhuzi/sysjobcalendar/SysJobCalendarRest';
/** 任务日历表，定义一些日历对象，用于排除某些天。 */
export interface SysJobCalendarDto extends BaseBeanModel {
  /** 名称 */
  name?: string;
  /** 描述 */
  description?: string;
  /** 创建人 */
  createUser?: string;
  /** 创建日期 */
  createDate?: any;
  createDateBegin?: any;
  createDateEnd?: any;
  /** 更新人 */
  updateUser?: string;
  /** 更新日期 */
  updateDate?: any;
  updateDateBegin?: any;
  updateDateEnd?: any;
}

/**
 * 获取分页数据
 * @param param 查询参数
 * @returns 日历列表
 */
export function listSysJobCalendarByPage(param: QueryParamModel): Promise<ResponsePageData<SysJobCalendarDto>> {
  return request.post(`${basePath}/searchMainByPage/v1`, param);
}

/**
 * 根据id加载数据
 * @param id 数据id
 * @returns 根据数据id获取到的数据
 */
export function getSysJobCalendar(id: string): Promise<ResponseBaseData<SysJobCalendarDto>> {
  return request.get(`${basePath}/getMain/v1/${id}`);
}

/**
 * 保存表单数据
 * @param form 表单数据
 * @returns 保存结果
 */
export function saveSysJobCalendar(form: SysJobCalendarDto): Promise<ResponseBaseData<any>> {
  return request.post(`${basePath}/saveMain/v1`, form);
}

/**
 * 更新表单数据
 * @param form 表单数据
 * @returns 保存结果
 */
export function updateSysJobCalendar(form: SysJobCalendarDto): Promise<ResponseBaseData<any>> {
  return request.post(`${basePath}/updateMain/v1`, form);
}

/**
 * 根据id集合删除数据
 * @param ids 数据id集合
 * @returns 删除结果
 */
export function delSysJobCalendar(ids: [string]): Promise<ResponseBaseData<any>> {
  return request.post(`${basePath}/deleteSysJobCalendarByIds/v1`, ids);
}

/**
 * 根据表单id加载日历
 * @param id 数据id
 * @returns 日历列表
 */
export function querySysJobCalendarDate(id: string): Promise<ResponseBaseData<any>> {
  return request.post(`${basePath}/queryByExcludedCalendarId/v1`, id);
}
